/**
 * 通用方法封装处理
 * Copyright (c) 2018 jjn
 */
$(function () {

    //键盘Enter键，触发查询操作
    $(document).keyup(function (event) {
        if(event.keyCode == 13){
            $.table.search();
        }
    });

    // checkbox 事件绑定
    if ($(".check-box").length > 0) {
        $(".check-box").iCheck({
            checkboxClass: 'icheckbox-blue',
            radioClass: 'iradio-blue',
        })
    }

    // radio 事件绑定
    if ($(".radio-box").length > 0) {
        $(".radio-box").iCheck({
            checkboxClass: 'icheckbox-blue',
            radioClass: 'iradio-blue',
        })
    }

    // 初始化laydate日期控件(格式：yyyy-MM-dd)
    if($(".select-date").length > 0){
        layui.use('laydate', function () {
           var laydate = layui.laydate;
           var date = laydate.render({
               elem: '#dateChoice',
               trigger: 'click',
               theme: 'molv'
           })
        });
    }

    // 初始化laydate日期控件(格式：yyyy-MM-dd HH:mm:ss)
    if($(".load-time").length > 0){
        layui.use('laydate', function () {
            var laydate = layui.laydate;
            var date = laydate.render({
                elem: '#execTime',
                type: 'datetime',
                format: 'yyyy-MM-dd HH:mm:ss',
                min: getNowFormatDate(),
                trigger: 'click',
                theme: 'molv'
            })
        });
    }

    // laydate 开始时间结束时间控件绑定
    if ($(".select-time").length > 0) {
        layui.use('laydate', function() {
            var laydate = layui.laydate;
            var startDate = laydate.render({
                elem: '#startTime',
                type: 'datetime',
                format: 'yyyy-MM-dd HH:mm:ss',
                max: $('#endTime').val(),
                theme: 'molv',
                trigger: 'click',
                done: function(value, date) {
                    // 结束时间大于开始时间
                    if (value !== '') {
                        endDate.config.min.year = date.year;
                        endDate.config.min.month = date.month - 1;
                        endDate.config.min.date = date.date;
                        endDate.config.min.hours = date.hours>0?date.hours:23;
                        endDate.config.min.minutes = date.minutes>0?date.minutes:59;
                        endDate.config.min.seconds = date.seconds>0?date.seconds:59;
                    } else {
                        endDate.config.min.year = '';
                        endDate.config.min.month = '';
                        endDate.config.min.date = '';
                        endDate.config.min.hours = '';
                        endDate.config.min.minutes = '';
                        endDate.config.min.seconds = '';
                    }
                }
            });
            var endDate = laydate.render({
                elem: '#endTime',
                type: 'datetime',
                format: 'yyyy-MM-dd HH:mm:ss',
                min: $('#startTime').val(),
                theme: 'molv',
                trigger: 'click',
                done: function(value, date) {
                    // 开始时间小于结束时间
                    if (value !== '') {
                        startDate.config.max.year = date.year;
                        startDate.config.max.month = date.month - 1;
                        startDate.config.max.date = date.date;
                        startDate.config.max.hours = date.hours>0?date.hours:23;
                        startDate.config.max.minutes = date.minutes>0?date.minutes:59;
                        startDate.config.max.seconds = date.seconds>0?date.seconds:59;
                    } else {
                        startDate.config.max.year = '';
                        startDate.config.max.month = '';
                        startDate.config.max.date = '';
                        startDate.config.max.hours = '';
                        startDate.config.max.minutes = '';
                        startDate.config.max.seconds = '';
                    }
                }
            });
        });
    }


    // bootstrap-table首列复选框选择，表格toolbar按钮样式状态(是否禁用)变更
    $("#bootstrap-table").on("check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table", function () {
        var ids = $("#bootstrap-table").bootstrapTable("getSelections");
        $('#toolbar .btn-del').toggleClass('disabled', !ids.length);
        $('#toolbar .btn-edit').toggleClass('disabled', ids.length!=1);;
    });

    // bootstrap-table toolTip提示样式初始化， 当表格数据加载完成后初始化
    $("#bootstrap-table").on("load-success.bs.table", function () {
        $("span[data-toggle='tooltip']").tooltip();
    });
});


// tree表格树 展开/折叠
var expandFlag = false;
$("#expandAllBtn").click(function() {
    if (expandFlag) {
        $('#bootstrap-table').bootstrapTreeTable('expandAll');
    } else {
        $('#bootstrap-table').bootstrapTreeTable('collapseAll');
    }
    expandFlag = expandFlag ? false: true;
})

/** 创建选项卡 */
function createMenuItem(dataUrl, menuName) {
    dataIndex = $.common.random(1,100),
        flag = true;
    if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
    var topWindow = $(window.parent.document);
    // 选项卡菜单已存在
    $('.menuTab', topWindow).each(function() {
        if ($(this).data('id') == dataUrl) {
            if (!$(this).hasClass('active')) {
                $(this).addClass('active').siblings('.menuTab').removeClass('active');
                $('.page-tabs-content').animate({ marginLeft: ""}, "fast");
                // 显示tab对应的内容区
                $('.mainContent .Tem_iframe', topWindow).each(function() {
                    if ($(this).data('id') == dataUrl) {
                        $(this).show().siblings('.Tem_iframe').hide();
                        return false;
                    }
                });
            }
            flag = false;
            return false;
        }
    });
    // 选项卡菜单不存在
    if (flag) {
        var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '">' + menuName + ' <i class="fa fa-times-circle"></i></a>';
        $('.menuTab', topWindow).removeClass('active');

        // 添加选项卡对应的iframe
        var str1 = '<iframe class="Tem_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" seamless></iframe>';
        $('.mainContent', topWindow).find('iframe.Tem_iframe').hide().parents('.mainContent').append(str1);

        // 添加选项卡
        $('.menuTabs .page-tabs-content', topWindow).append(str);
    }
    return false;
}

//校验是否是正整数
function checkIntNum(id) {
    var temp = $("#" + id).val();
    if(temp == null || temp.length == 0){
        return true;
    }
    var regPos = /^\d+$/; // 非负整数
    if(!regPos.test(temp)){
        return false;
    }
    return true;
}

//获取当前时间(格式：yyyy-MM-dd HH:mm:ss)
function getNowFormatDate() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
        + " " + date.getHours() + seperator2 + date.getMinutes()
        + seperator2 + date.getSeconds();
    return currentdate;
}


/** 设置全局ajax超时处理 */
$.ajaxSetup({
    complete: function(XMLHttpRequest, textStatus) {
        if (textStatus == "parsererror") {
            $.modal.confirm("登陆超时！请重新登陆！", function() {
                window.location.href = ctx + "login";
            })
        }
    }
});